/**
 * Copyright (c) 2010 CWI Amsterdam and others. All rights reserved.
 * This program and the accompanying materials are made available
 * under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     CWI Amsterdam - initial API and implementation
 *
 * $Id$
 */
package nl.cwi.arne.mcrl2.util;

import java.io.File;

import nl.cwi.arne.mcrl2.util.MCRL2Options.Equivalence;

/**
 * Common command used with mCRL2.
 * @author Christian Krause
 * @generated NOT
 */
public class MCRL2Commands {
	
	public static Command mcrl22lps(File mcrl2, File lps) {
		return new Command("mcrl22lps", "-vD", mcrl2.getAbsolutePath(), lps.getAbsolutePath());
	}

	public static Command lpssumelm(File lps1, File lps2) {
		return new Command("lpssumelm", lps1.getAbsolutePath(), lps2.getAbsolutePath());		
	}

	public static Command lps2lts(File lps, File lts) {
		return new Command("lps2lts", lps.getAbsolutePath(), lts.getAbsolutePath());
	}
	
	public static Command ltsconvert(File lts1, File lts2, Equivalence equivalence) {
		return new Command("ltsconvert", "--equivalence=" + equivalence, lts1.getAbsolutePath(), lts2.getAbsolutePath());
	}

	public static Command ltscompare(File lts1, File lts2, Equivalence equivalence) {
		return new Command("ltscompare", "--equivalence=" + equivalence, lts1.getAbsolutePath(), lts2.getAbsolutePath());
	}

	public static Command ltsgraph(File lts) {
		return new Command("ltsgraph", lts.getAbsolutePath());
	}
	
	public static Command lps2pbes(File lps, File mcf, File pbes) {
		return new Command("lps2pbes", "--formula=" + mcf.getAbsolutePath(), lps.getAbsolutePath(), pbes.getAbsolutePath());
	}
	
	public static Command pbes2bool(File pbes) {
		return new Command("pbes2bool", pbes.getAbsolutePath());
	}

	public static Command ltsinfo(File lts) {
		return new Command("ltsinfo", lts.getAbsolutePath());
	}
	
}
